#ifndef COMMAMD_H__
#define COMMAMD_H__

//include header
#include "Receiver.h"

//using namespace


namespace npCommand
{
    //class forward declaration

    class Command // class inheritance
    {
        //friend
        
        //embedded type
        
        public: Command();
        public: virtual ~Command();
        public: Command(const Command& cpy);
        public: Command& operator=(const Command& asn);
        public: virtual Command* clone() const;

        //other constructors

        //public methods
        public: virtual void setReceiver(Receiver* receiver) throw() = 0;
        public: virtual void execute() throw() = 0;

        //protected methods

        //private methods

        //protected data
        protected: Receiver* receiver;

        //private data

        //others
    };
} // namespace npCommand


#endif //COMMAMD_H__
